Digital communications is an important feature of personal computers. Data traffic carried by a digital communication system often includes image data, so that image rendering is an important task carried out by a computer system. FIG. 1 is a high level depiction of a portion of a computer system, where microprocessor 102 performs various computational tasks under control of one or more programs stored in memory 104. Memory traffic is handled by chipset 106, which includes a memory controller connected to memory bus 108. Microprocessor 102 communicates with chipset 106 via front side bus 110. Chipset 106 may also include a functional unit for communicating with graphics hardware 112 via graphics port 114.
Chipset 106 also allows microprocessor 102 to communicate with other peripheral components, such as network interface 114 via system bus 116. Network interface 114 allows the computer system to communicate with other nodes on a network, such as servers, gateways, etc., for receiving various forms of data traffic, such as image data. Alternatively, a modem (not shown) may be connected to system bus 116, allowing communication to the public switched telephone system, whereby communication may be made to other networks, including the Internet.
FIG. 1 is meant to serve only has a high level description of only one embodiment of a computer system. Other embodiments may have graphics hardware connected to system bus 116, or may have graphics hardware embedded in microprocessor 102.
Image data is very bandwidth intensive, and often is compressed (encoded) before sending it to another node on a network. For example, JPEG (Joint Photographic Experts Group) provides standards, such as ITU-TT.81, for encoding and decoding images. A compressed image received by network interface 114 is eventually uncompressed (decompressed, decoded, synthesized, or reconstructed) by either microprocessor 102 or graphics hardware 114, or perhaps another graphics accelerator in the computer system.
Graphics hardware 112 may be dedicated for quickly rendering image data to a monitor (not shown). To support the fast rendering of images, graphics hardware 112 may be designed to support various forms of vector processing in a very efficient manner. For example, multiplication of a one dimensional vector by a scalar may be performed very quickly for some high performance graphics hardware. It is desirable to provide a compression and synthesis scheme that provides a good compression ratio and for which image synthesis takes advantage of vector processing.